package com.cuit.zuke.hotel.service;


import com.cuit.zuke.hotel.model.hotel.Hotel;
import com.cuit.zuke.hotel.vo.hotel.HotelQueryVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

public interface HotelService {
    /**
     * 上传酒店信息
     * @param hotel
     */
    void save(Hotel hotel);

    /**
     * 查询酒店
     * @param zkcode
     * @return
     */
    Hotel getByZkcode(String zkcode);

    /**
     * 分页查询
     * @param page 当前页码
     * @param limit 每页记录数
     * @param hotelQueryVo 查询条件
     * @return
     */
    Page<Hotel> selectPage(Integer page, Integer limit, HotelQueryVo hotelQueryVo);

    /**
     * 更新状态
     * @param id
     * @param status 状态
     * @return
     */
    void updateStatus(String id, Integer status);

    /**
     * 酒店详情
     * @param id
     * @return
     */
    Map<String, Object> show(String id);

    /**
     * 根据酒店编号获取酒店名称接口
     * @param zkcode
     * @return
     */
    String getName(String zkcode);

    /**
     * 根据酒店名称获取酒店列表
     */
    List<Hotel> findByZkname(String zkname);

    /**
     * 酒店预约详情
     */
    Hotel item(String zkcode);

    /**
     * 根据zkcode和roomcode得到对应的hotel和room
     * @param zukecode
     * @param roomcode
     * @return
     */
    Map<String,Object> getHotelAndRoom(String zukecode,String roomcode);

}
